package com.xiaoyun.ba04;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.beans.factory.annotation.Qualifier;
import org.springframework.context.annotation.ImportResource;
import org.springframework.stereotype.Component;

@Component("student4")
public class Student {
    private String name;
    private int age;

    /*@Autowired   spring提供的注解  给引用类型赋值 ，使用自动注入原理  byType规则
    * 可以在属性或set方法上使用
    * required 默认为true   当required=true时表示 引用类型赋值失败时报错
    *                       当required=false时表示 引用类型赋值失败时   为null程序正常执行
    *@Qualifier   和  @Autowired搭配使用  添加之后表示按名称注入
    *
    *
    *
    *
    * @Resource      jdk提供的注解   默认按名称注入  如果失败则按类型注入
    * 添加属性name   之后表示只按名称注入  */

    @Autowired(required = false)
    @Qualifier("school2")         /*表示使用byName  规则*/

    private School school;
    public Student() {
    }

    public void setName(String name) {
        this.name = name;
    }
    public void setAge(int age) {
        this.age = age;
    }

    @Override
    public String toString() {
        return "Student{" +
                "name='" + name + '\'' +
                ", age=" + age +
                ", school=" + school +
                '}';
    }
}
